我正在将csv文件中的数据加载到pandas数据框中,csv文件中的列包含以下值:
1,2,3.4,5,6.2
问题是int值更改为浮点数(我知道这是因为float将是更通用的dtype),因此其读取方式为:
df
value
0 1.0
1 2.0
2 3.4
3 5.0
4 6.2
我需要获取csv文件中所有的值作为字符串。
我尝试使用pd.read_csv('filename.csv',dtype=str)
或pd.read_csv('filename.csv',dtype=object)
,结果导致将它们更改为浮点数,然后改为str:
value
0 1.0
1 2.0
2 3.4
3 5.0
4 6.2
有没有办法按原样阅读它们?即:
value
0 1
1 2
2 3.4
3 5
4 6.2
答案 0 :(得分:0)
答案 1 :(得分:0)
使用
pd.read_csv()
-将逗号分隔的值(csv)文件读入DataFrame。DataFrame.T
-转置索引和列。DataFrame.rename()
-更改轴标签。例如。
import pandas as pd
from io import StringIO
# csv file contain single text row value
csv1 = StringIO("""1,2,3.4,5,6.2""")
# csv1 replace with csv file name eg. 'filename.csv'
df = (pd.read_csv(csv1,dtype=str,header=None)).T.rename(columns={0:'value'})
print(df)
value
0 1
1 2
2 3.4
3 5
4 6.2
# csv file contain multiple text row value
csv2 = StringIO("""1
2
3.4
5
6.2""")
# csv2 replace with csv file name eg. 'filename.csv'
df1 = pd.read_csv(csv2,dtype=str,header=None,names=['value'])
print(df1)
value
0 1
1 2
2 3.4
3 5
4 6.2