<p>我关于pd.read\u csv</em>的经验表明:</p>
<ul>
<li>默认情况下,仅可转换为<em>int</em>或<em>float</em>的列
转换为各自的类型</李>
<li>“类似日期”的字符串仍被读取为<strong>字符串</strong>(中的列类型为
产生的<em>数据帧</em>实际上是<em>对象</em>)</李>
</ul>
<p>如果希望<em>read\u csv</em>将此类列转换为<em>datetime</em>类型,您可以
应传递<em>parse_dates</em>参数,指定要删除的列的列表
解析为日期。因为您没有这样做,所以不应该删除任何源列
已转换为<em>日期时间</em>类型</p>
<p>要检查此详细信息,请在阅读<em>文件</em>后,运行<code>file.info()</code>并进行检查
相关列的类型</p>
<p>因此,如果相应的<em>Excel</em>文件列为<em>Date</em>类型,则可能
此转换是由<em>转换为\u excel</em>引起的</p>
<p>还有一条关于变量名的注释:
使用<em>read\u csv</em>读取的是一个<strong>数据帧,而不是<strong>文件。
实际<em>文件</em>是从中读取内容的<strong>源对象,
但这里您只传递了文件名</p>
<p>因此,不要使用像<em>file</em>这样的名称来命名结果数据帧,如下所示
这是误导。最好使用例如<em>df</em></p>
<h2>从05:58Z开始编辑以下注释</h2>
<p>为了全面检查您在评论中所写的内容,我创建了
以下CSV文件:</p>
<pre><code>DateBougth,Id,Value
2020/7/12,1031,500.15
2020/8/18,1032,700.40
2020/10/16,1033,452.17
</code></pre>
<p>我运行:<code>df = pd.read_csv('Input.csv')</code>然后<code>print(df)</code>,得到:</p>
<pre><code> DateBougth Id Value
0 2020/7/12 1031 500.15
1 2020/8/18 1032 700.40
2 2020/10/16 1033 452.17
</code></pre>
<p>因此,在<em>Pandas</em>级别上,<em>datebouth</em>
柱其余两列都包含数字内容,因此
无声地转换为<em>int64</em>和<em>float64</em>,但<em>datebuy</em>仍然是<em>对象</em></p>
<p>然后我将这个<em>df</em>保存到一个Excel文件中,运行:<code>df.to_excel('Output.xls')</code>
并用Excel打开了它。内容是:</p>
<p><a href="https://i.stack.imgur.com/N9F76.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/N9F76.png" alt="enter image description here"/></a></p>
<p>因此,在Excel级别都没有进行任何数据类型转换</p>
<p>要查看<em>B2</em>单元格的实际数据类型(第一个<em>datebouth</em>),
我单击此单元格并按Ctrl-1以显示单元格格式。
格式是<em>常规</em>(不是<em>日期</em>),正如我所预料的那样</p>
<p>也许你有一些过时的软件版本?
我使用Python</em>v。3.8.2和<em>熊猫</em>v。1.0.3. </p>
<p>另一个需要检查的细节:在pd.read\u csv</em>之后查看代码。
也许你把指令放在某个地方,比如df.datebunded=pd.to_datetime(df.datebunded)</em>(显式类型转换)?
或者至少是格式转换。请注意,在我的环境中
<em>datebunded</em>列的格式绝对没有变化</p>