Python 熊猫将csv文件值作为文本读取,而不首先转换为浮点值
我正在将csv文件中的数据加载到熊猫数据框中,csv文件中的列包含以下值:Python 熊猫将csv文件值作为文本读取,而不首先转换为浮点值,python,pandas,dataframe,Python,Pandas,Dataframe,我正在将csv文件中的数据加载到熊猫数据框中,csv文件中的列包含以下值: 1,2,3.4,5,6.2 问题是int值被更改为float(我理解这是因为float将是更通用的数据类型),因此它被理解为: df value 0 1.0 1 2.0 2 3.4 3 5.0 4 6.2 我需要获取csv文件中作为字符串的所有值 我尝试使用pd.read\u csv('filename.csv',dtype=str)或pd.read\u csv('filename
1,2,3.4,5,6.2
问题是int值被更改为float(我理解这是因为float将是更通用的数据类型),因此它被理解为:
df
value
0 1.0
1 2.0
2 3.4
3 5.0
4 6.2
我需要获取csv文件中作为字符串的所有值
我尝试使用pd.read\u csv('filename.csv',dtype=str)
或pd.read\u csv('filename.csv',dtype=object)
,结果将它们更改为浮动,然后str:
value
0 1.0
1 2.0
2 3.4
3 5.0
4 6.2
有没有办法把它们读成现在的样子?i、 e:
value
0 1
1 2
2 3.4
3 5
4 6.2
这是我的测试CSV(untitle.CSV):
a、 一,
b、 二,
c、 3.4
d、 五,
e、 6.2
通过以下代码pd.read\u csv('untitled.csv',dtype='str',header=None)
,我获得:
使用
- -将逗号分隔值(csv)文件读入数据帧
- -转置索引和列
- -更改轴标签
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
AFAIK使用pd.read\u csv('filename.csv',dtype=str)
将导致数据为字符串。这不是我们想要的行为吗?