मैं फाइल को पंडों में पढ़ने की कोशिश करता हूं। फ़ाइल में स्थान के आधार पर मान अलग-अलग हैं, लेकिन मैंने जितने स्थान आज़माए हैं:
pd.read_csv('file.csv', delimiter=' ')
लेकिन यह काम नहीं करता है
जवाबों:
delim_whitespace=True
तर्क जोड़ें , यह रेगेक्स से तेज है।
delimiter=' '
क्योंकि वे हाल के संस्करणों में परस्पर अनन्य हैं।
delimiter=' '
बहुत भंगुर है, यह एक और केवल एक स्थान की उम्मीद करता है। कोई टैब, न्यूज़लाइन, मल्टीपल स्पेस, नॉनब्रेकिंग व्हाट्सएप, इनका कॉम्बिनेशन इत्यादि delimiter='\s+'
जो पंडों की सलाह है और जो ज्यादा मजबूत है।
आप रीमिक्स को सीमांकक के रूप में उपयोग कर सकते हैं:
pd.read_csv("whitespace.csv", header=None, delimiter=r"\s+")
engine = "python"
एक चेतावनी से बचने के लिए जोड़ना चाहिए ।
यदि आप स्वीकृत उत्तर का उपयोग करके काम करने के लिए पाठ पार्सिंग नहीं प्राप्त कर सकते हैं (जैसे यदि आपकी पाठ फ़ाइल में गैर समान पंक्तियाँ हैं) तो यह पायथन के सीएसवी पुस्तकालय के साथ प्रयास करने लायक है - यहाँ एक उपयोगकर्ता द्वारा परिभाषित बोली का उपयोग करके उदाहरण दिया गया है :
import csv
csv.register_dialect('skip_space', skipinitialspace=True)
with open(my_file, 'r') as f:
reader=csv.reader(f , delimiter=' ', dialect='skip_space')
for item in reader:
print(item)